/**
 * 项目名称:FileInputStream类的其他方法：
 *
 * @Author: 夏国倩
 * @Date: 2023/10/10 14:14
 * @Copyright
 */
package IO2;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/*
FileInputStream类的其他方法：
int available() 返回流当中剩余的字节数量
long skip(long n)跳过几个字节不读
 */
public class FileInputStreamTest5 {
    public static void main(String[] args) {
        FileInputStream fis=null;
        try {
            fis=new FileInputStream("temp");
            System.out.println("总字节数量："+fis.available());
            //读1个字节
            int readByte=fis.read();
            //还剩下可以读的字节数量是：5
            System.out.println("剩下多少个字节没有读："+fis.available());
            //这个方法的作用：
            byte[] bytes=new byte[fis.available()]; //这种方式不适合太大的文件，因为byte[]不能太大
            //不需要循环了
            //直接读一次就可以了
            int readCount = fis.read(bytes);
            System.out.println(new String(bytes));
            //跳过2个字节
            fis.skip(2);
            System.out.println(fis.read()); //99
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }catch (IOException e){
            throw new RuntimeException(e);
        }finally {
            if (fis !=null){
                try{
                    fis.close();
                }catch (IOException e){
                    throw new RuntimeException(e);
                }
            }
        }
    }
}
